export { formatDate } from '@/utils/validate.js'
export { formatTimeDuring } from '@/utils'

// 转换大写
export function convertCapital(str) {
    if (str) {
        return str.replace(str[0], str[0].toUpperCase())
    }
}

// 转换指标类型
export function filterMetricTypeName(name) {
    let str = ''
    switch (name) {
        case 'ProtocolAvail':
            str = '可用性指标'
            break
        case 'Information':
            str = '信息指标'
            break
        case 'Performance':
            str = '性能指标'
            break
        default:
            str = name
            break
    }
    return str
}

// 弃用
// 资源列表 资源详情弹窗 根据指标类型tabName 显示对应组件名称
export function filterMetricTypeTabs(metricType, categoryId) {
    let metricTypeMap = [
        {
            id: 'ResourceViews',
            name: 'ResourceViews',
            children: [
                {
                    id: 'host',
                    name: 'Host',
                    children: []
                },
                {
                    id: 'database',
                    name: 'Database',
                    children: []
                },
                {
                    id: 'network',
                    name: 'NetWork',
                    children: []
                },
                {
                    id: 'storage',
                    name: 'Storage',
                    children: []
                }
            ]
        },
        {
            id: 'Alarm',
            name: 'Alarm',
            children: []
        },
        {
            id: 'MetricGroup',
            name: 'MetricGroup',
            children: []
        },
        {
            id: 'NetInterface',
            name: 'NetInterface',
            children: []
        },
        {
            id: 'File',
            name: 'File',
            children: []
        },
        {
            id: 'Business',
            name: 'Business',
            children: []
        },
        {
            id: 'AssetInformation',
            name: 'AssetInformation',
            children: []
        }
    ]

    // 查找对应指标数据
    let filterArr = metricTypeMap.filter(item => item.id.toLowerCase() === metricType.toLowerCase())
    // 返回默认值
    if (!filterArr.length) return 'MetricComponent'
    // 如果children为空 则不是资源预览页面
    if (!filterArr[0].children.length) return filterArr[0].name
    // 资源预览
    let specialArr = filterArr[0].children.filter(item => item.id.toLowerCase() === categoryId.toLowerCase())
    // 不存在
    if (!specialArr.length) return ''
    // 返回对应菜单的自定义名称
    return specialArr[0].name
}

/**
 *  策略告警
 *
 * */
// 策略告警发送方式转中文名
export function convertAlarmSendWayName(nameEn) {
    return alarmSendWayNameCn[nameEn]
}

/**
 *  巡检管理
 *
 */

// 转化巡检计划列表巡检周期
export function inspectPeriodsType(type) {
    let filterArr = inspectPlanTypeParameters.filter(item => item.value === type)
    return filterArr && filterArr.length > 0 ? filterArr[0].text : type
}

// 转换巡检设置中巡检类型 人工 系统
export function inspectType(type) {
    return {
        '1': '人工自检',
        '2': '系统自检'
    }[type]
}

// 过滤资源可用性
export function filterInstanceAva(data) {
    return {
        'availability': '可用',
        'unavailability': '不可用'
    }[data]
}

/**
 *  资源/指标告警状态
 */
export function alarmCn(status) {
    return alarmStatusConvertCn[status]
}
